home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Franz PD
/
Franz PD Disk #110 (1991-01)(Amiga User Group Deutschland e.V.).zip
/
Franz PD Disk #110 (1991-01)(Amiga User Group Deutschland e.V.).adf
/
Mini_TIC-TAC-TOE_V0.3
/
Mini_TIC-TAC-TOE_V0.3
< prev
next >
Wrap
Text File
|
1989-07-03
|
6KB
|
212 lines
' Mini_TIC-TAC-TOE V0.3 ist Shareware
' der Sharewarebetrag ist belibig
MENU 4,0,1," *________ Mini_TIC-TAC-TOE ___ INFO ______________* "
MENU 4,1,1," Mini_TIC-TAC-TOE V0.3 © by Andre Lämmer "
MENU 4,2,1," Anleitung mit der Help-Taste "
MENU 4,3,1," Spielerstand mit der Taste F1 "
MENU 4,4,1," Neu anfangen mit der Taste F2 "
MENU 4,5,1," Mit ESC können Sie das Programm beenden "
ON BREAK GOSUB ENDE
BREAK ON
DEFINT A-z
DIM Ro!(7,1),Gr!(7,1),Bl!(7,1),px#(140),po#(140),F(3,3),W$(4),SC(8)
W$(1)="PLAYER 1 WINS THE GAME" : W$(2)="PLAYER 1"
W$(4)="PLAYER 2 WINS THE GAME" : W$(3)="PLAYER 2"
WINDOW CLOSE 1
SCREEN 1,640,260,3,2
WINDOW 1,"Mini_TIC-TAC-TOE V0.3 von Andre Lämmer",(0,0)-(630,240),0,1
PALETTE 6,0,0,0
CIRCLE (260,100),36
LINE (106,4)-(170,36)
LINE (170,4)-(106,36)
GET (224,84)-(296,120),po#
GET (104,4)-(176,40),px#
Start:
FLG=1 : Spiele=0 : Spieler1=0
Spieler2=0 : Unent=0 : Unent1=0
Start1:
CLS
LINE (240,16) -STEP (10,150),2,bf
LINE (360,16) -STEP (10,150),2,bf
LINE (120,66) -STEP (360,4),2,bf
LINE (120,116)-STEP (360,4),2,bf
FOR A=1 TO 3
FOR B=1 TO 3
F(A,B)=0
NEXT B,A
FRAG:
IF MOUSE(0)>0 THEN MAUSE
A$=INKEY$
IF A$=CHR$(27) THEN ENDE
IF A$=CHR$(139) THEN GOTO Help
IF A$=CHR$(129) THEN GOTO Spielerstand
IF A$=CHR$(130) THEN GOTO Start
IF A$="" THEN FRAG
IF FLG=1 THEN FLG=4 ELSE FLG=1
GOTO Start1
MAUSE:
Maus1=MOUSE(5) : Maus=MOUSE(6)
x=120 : I=1
IF Maus1>240 THEN x=240 : I=2
IF Maus1>360 THEN x=360 : I=3
y=16 : J=1
IF Maus>66 THEN y=66 : J=2
IF Maus>116 THEN y=116 : J=3
IF F(I,J)<>0 THEN FRAG
F(I,J)=FLG
IF FLG=4 THEN
FLG=1 : PUT (x+30,y+11),po#
ELSE
FLG=4 : PUT (x+30,y+11),px#
END IF
PowerPrint 25,25,"Press any key to clear field",7
FOR I=1 TO 3
SC(I)=0 : I3=I+3 : SC(I3)=0
FOR J=1 TO 3
SC(I)=SC(I)+F(J,I)
SC(I3)=SC(I3)+F(I,J)
NEXT J,I
SC(7)=F(1,1)+F(2,2)+F(3,3)
SC(8)=F(1,3)+F(2,2)+F(3,1)
Unent=Unent+1
FOR I=1 TO 3
N=F(1,I)
IF (SC(I)=3*N) AND (N>0) THEN
I1=1 : J1=I : I2=3 : J2=I : GOTO WIN
END IF
N=F(I,1)
IF (SC(I+3)=3*N) AND (N>0) THEN
I1=I : J1=1 : I2=I : J2=3 : GOTO WIN
END IF
NEXT
N=F(2,2)
IF (SC(7)=3*N) AND (N>0) THEN
I1=1 : J1=1 : I2=3 : J2=3 : GOTO WIN
END IF
IF (SC(8)=3*N) AND (N>0) THEN
I1=3 : J1=1 : I2=1 : J2=3 : GOTO WIN
END IF
IF Unent=9 THEN
Unent1=Unent1+1
Unent=0 : BEEP
PowerPrint 1,28,"Noboby wins the game !",3
FOR I=1 TO 2500 : NEXT
GOTO Start1
END IF
GOTO FRAG
WIN:
Unent=0 : BEEP
PowerPrint 1,28,W$(N),3
H1=((I1-.5)*120)+120
V1=((J1-.5)*50) +16
H2=((I2-.5)*120)+120
V2=((J2-.5)*50) +16
LINE (H1,V1)-(H2,V2),3
LINE (H1+1,V1)-(H2+1,V2),3
LINE (H1-1,V1)-(H2-1,V2),3
FOR I=1 TO 2500 : NEXT
IF N=1 THEN Spieler1=Spieler1+1 ELSE Spieler2=Spieler2+1
Spiele=Spiele+1
GOTO Start1
Help:
SCREEN 2,330,260,3,1
WINDOW 2," H E L P ",(0,0)-(318,240),0,2
PowerPrint 1,16,"ANLEITUNG:",3
PowerPrint 3,6,"Dies ist Mini_TIC-TAC-TOE V0.3 ",4
PowerPrint 4,19,"von",5
PowerPrint 5,15,"Andre Lämmer",6
PowerPrint 6,1,STRING$(40,"_"),7
PowerPrint 8,1,"Dieses Spiel ist für 2 Spieler ,einer ",1
PowerPrint 9,1,"hat Kreuze der andere Kreise.Jeder ",2
PowerPrint 10,1,"Spieler muß nun versuchen ,daß er eine ",3
PowerPrint 11,1,"Dreierreihe bilden kann.Dies kann ent- ",4
PowerPrint 12,1,"weder waagrecht, senkrecht oder diagonal",5
PowerPrint 13,1,"geschehen." ,6
PowerPrint 15,1,"Auserdem gibt es noch einige Funktions- ",7
PowerPrint 16,1,"Tasten:",7
PowerPrint 18,2,"HELP - Sie erhalten diese Anleitung ",2
PowerPrint 19,2,"F1 - Sie erhalten den Spielerstand ",3
PowerPrint 20,2,"F2 - Sie können neu anfangen und der ",4
PowerPrint 21,2," Spielerstand wird gelöscht ! ",4
PowerPrint 22,2,"ESC - Das Spiel anhalten ",5
PowerPrint 24,1,"Mit jeder weiteren Taste können sie das",6
PowerPrint 25,1,"Spielfeld löschen.",7
PowerPrint 29,8,"Press Space to continue !",2
GOSUB Blenden : CLS : COLOR ,2
LINE (1,10)-(315,200),2,bf
PowerPrint 5,2,"Dies ist ein Sharewareprogramm, ",3
PowerPrint 6,2,"und der Geldbetrag ist beliebig.",3
PowerPrint 7,2,"Bitte schicken Sie den Sharewarebetrag",3
PowerPrint 8,2,"an:",3
LINE (65,65)-(195,100),7,B
PowerPrint 10,10,"Andre Lämmer ",4
PowerPrint 11,10,"Hegaustraße 21 ",5
PowerPrint 12,10,"7760 Radolfzell",6
PowerPrint 20,15,"Vielen Dank.",1
PowerPrint 22,2,"Viel Spaß bei Mini_TIC-TAC-TOE V0.3 !",4
COLOR ,0
PowerPrint 29,8,"Press Space to continue !",7
GOSUB Blenden
WINDOW CLOSE 2
SCREEN CLOSE 2
GOTO FRAG
Spielerstand:
WINDOW 2," Spielerstand",(10,180)-(600,235),0,1
PowerPrint 1,5,"Es wurden bereits"+STR$(Spiele+Unent1)+" Spiele gespielt,davon"+STR$(Unent1)+" Spiele unentschieden.",1
PowerPrint 2,2,"Spieler Spiele gewonen",2
PowerPrint 3,2,STRING$(43,"-"),3
PowerPrint 4,2,W$(2)+SPACE$(30)+STR$(Spieler1),2
PowerPrint 5,2,W$(3)+SPACE$(30)+STR$(Spieler2),2
PowerPrint 7,25,"Press Spaces to continue",3
WHILE INKEY$<>CHR$(32) : WEND
WINDOW CLOSE 2
GOTO FRAG
Blenden:
WHILE INKEY$<>CHR$(32)
GOSUB FarbenFestlegen
GOSUB Fade
WEND
RETURN
FarbenFestlegen:
FOR I=1 TO 7
Ro!(I,0)=Ro!(I,1)
Gr!(I,0)=Gr!(I,1)
Bl!(I,0)=Bl!(I,1)
Ro!(I,1)=RND
Gr!(I,1)=RND
Bl!(I,1)=RND
NEXT
RETURN
Fade:
FOR J=0 TO 6
FOR I=0 TO 7
R!=(Ro!(I,1)-Ro!(I,0))/6*J
G!=(Gr!(I,1)-Gr!(I,0))/6*J
B!=(Bl!(I,1)-Bl!(I,0))/6*J
PALETTE I,Ro!(I,0)+R!,Gr!(I,0)+G!,Bl!(I,0)+B!
NEXT I,J
RETURN
ENDE:
WINDOW 2,"Mini_TIC-TAC-TOE Request",(200,70)-(400,100),0,1
PowerPrint 1,1,"Wollen Sie wirklich ",3
PowerPrint 2,1,"Mini_TIC-TAC-TOE V0.3",3
PowerPrint 3,1,"verlassen (J / N) ? ",3
WHILE AntWo$<>"J" AND AntWo$<>"N"
AntWo$=UCASE$(INKEY$)
WEND
IF AntWo$="N" THEN
MENU RESET
LIST
END
ELSE
WINDOW CLOSE 2
WINDOW CLOSE 1
SCREEN CLOSE 1
SYSTEM
END IF
SUB PowerPrint(xPos,yPos,Text$,Farbe) STATIC
LOCATE xPos,yPos
COLOR Farbe
PRINT Text$;
END SUB